package com.ebt.m.proposal_v2.mvp.contract;

import com.ebt.m.proposal_v2.dao.request.ParamBrandProducts;
import com.ebt.m.proposal_v2.dao.request.ParamGetRisks;
import com.ebt.m.proposal_v2.dao.response.ResponseBrand;
import com.ebt.m.proposal_v2.dao.response.ResponseMain;
import com.ebt.m.proposal_v2.mvp.base.IPresenter;
import com.ebt.m.proposal_v2.mvp.base.IView;

import java.util.List;

/**
 * 选择主险的品牌产品
 *
 * @author archer.qi
 *         Created on 2017/6/14.
 */
public interface ProposalProductsContract {

    interface View extends IView {

        void showProgress();

        void cancelProgress();

        void showEmpty(boolean empty, boolean no_net, boolean net_slow);

        ParamGetRisks getArgument();

        /**
         * 绑定数据
         *
         * @param data
         */
        void bindData(List<ResponseMain> data);

        void showToast(String msg);

        /**
         * 经贷公司当前选择的品牌
         *
         * @return
         */
        ResponseBrand getBrandSelect();
    }

    interface Presenter extends IPresenter {

        /**
         * 公司类型
         *
         * @return
         */
        int getCompanyType();

        /**
         * 请求参数
         *
         * @return
         */
        ParamBrandProducts generateParams(boolean isInsCompany, ResponseBrand brand);

        /**
         * 根据品牌查询产品
         *
         * @param param
         */
        void getProductsByBrand(ParamBrandProducts param);

        /**
         * 查询公司所属品牌
         */
        void getCompanyBrand();
    }

}
